package com.zlf.blog.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zlf.blog.dao.pojo.CommentVo;
import com.zlf.blog.vo.*;
import com.zlf.blog.vo.params.PageParams;
import com.zlf.blog.dao.pojo.Article;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @author zlfi1
* @description 针对表【ms_article】的数据库操作Service
* @createDate 2022-07-02 09:33:34
*/
public interface ArticleService extends IService<Article> {
        /**
         * 分页查询文章列表
         * @param pageParams
         * @return
         */
        Result listArticle(PageParams pageParams);

    /**
     * 作者ID下的Article
     * @param id
     * @return
     */
    List<ArticleVo> userArticle(String id);

    /**
     * 根据id查找articleBody
     * @param bodyId
     * @return
     */
    EditResultVo selectArticleBodyById(String bodyId);

    /**
     * 编辑article
     * @param editArticleVo
     * @return
     */
    int updateArticleBodyById(EditArticleVo editArticleVo);

    /**
     * 新增article
     * @param articleAdd
     * @return
     */
    int addArticle(ArticleAdd articleAdd);

    /**
     * 文件上传
     * @param fileId
     * @param fileName
     * @param userAccount
     * @return
     */
    int uploadFile(String fileId,String fileName,String userAccount);

    /**
     * 删除article
     * @param articleId
     * @return
     */
    int deleteArticle(String articleId);

    /**
     * 浏览详情
     * @param articleId
     * @return
     */
    ArticleBody selectArticleBodyByArticleId(String articleId);

    /**
     * 查找评论
     * @param bodyId
     * @return
     */
    List<CommentVo> selectComment(String bodyId);

    /**
     * 添加评论
     * @param commentVo
     * @return
     */
    int addComment(CommentVo commentVo);

    /**
     * 回复评论
     * @param commentVo
     * @return
     */
    int replyComment(CommentVo commentVo);
}
